home *** CD-ROM | disk | FTP | other *** search
- DRVIN.PRG (DRVIN.PRG)
- ========================
-
- #### VORLÄUFIGSTE BESCHREIBUNG ######
- (Ich habe jetzt kein Zeit, alles ausführlich einzutippen. Wenn jemand
- Treiber für andere Hardware oder einen "Treiberadapter" für Mint
- schreiben will, kann er sich gern an mich wenden. Assemblerkenntnis
- setze ich allerdings voraus. Später wird hier wohl die vollständige
- Doku der Funktionen erscheinen.)
-
-
- Dieses Programm unterstützt nachladbare Gerätetreiber unter allen
- TOS-Version sowie unter Mag!X ab V2.00. Mit Mag!X vor 2.00 sollte es
- auch laufen.
-
- Nachladbare Treiber bedeutet: DRVIN muß vor diesen im AUTO-Ordner
- liegen!
-
- DRVIN besteht aus drei wesentlichen Teilen: dem Anlegen des RSVF-Cookies,
- der neuen Bconmap- und MAPTAB-Verwaltung für BIOS und XBIOS sowie den
- Basisroutinen für die Installation einfacher Mag!X-kompatibler
- Gerätetreiber.
-
- Wenn man DRVIN und alle diese Treiber vor MiNT im \AUTO\ zu liegen hat,
- sollte es ebenfalls _eingeschränkt_ funktionieren, denn sämtliche
- GEMDOS-Funktionen der Treiber werden von MiNT abgehängt.
-
-
- Copyright
- ---------
- DRVIN darf unter folgenden Voraussetzungen frei kopiert werden:
- - Diese Anleitung wird unverändert mit kopiert.
- - Die Kopien sind kostenlos, oder auf dem üblichen Preisniveau einer
- PD-Disk.
- - Das Beilegen zu PD- und Sharewareprodukten ist generell gestattet.
- - Zu kommerziellen Produkten darf DRVIN ebenfalls beigelegt werden,
- der Vertreiber muß mich aber darüber informieren (Email genügt).
- - Ich bitte darum, DRVIN nur in Ausnahmefällen ohne Treiber zu
- kopieren, denn der Erstnutzer kann ohne Treiber hiermit fast nichts
- anfangen.
-
- Übersetzungen dieser Texte in andere Sprachen sind ausdrücklich
- erwünscht.
-
- Ich bin an einer Fehlerfreiheit dieser Software interessiert. Deshalb
- habe ich DRVIN gründlich getestet. Sollten Fehler auftreten, bitte
- möglichst genaue Beschreibung an meine Email- oder Postadresse
- schicken. Ich kann nur Fehler beseitigen, die ich anhand der
- Beschreibung entweder reproduzieren kann oder bereits finde.
-
- Ich hafte aber in keiner Weise für irgendwelche Auswirkungen, gleich
- welcher Art, die der Einsatz oder Nichteinsatz von DRVIN oder dieser
- Anleitung hat.
-
- Meine Adressen:
- Mausnetz: Harun Scheutzow @B
- Internet: Harun_Scheutzow@B.maus.de
- Postanschrift:
- Harun Scheutzow
- Dresdener Straße 83
- D-10179 Berlin, Deutschland
-
-
- RSVF-Cookie
- -----------
- Es wird ein RSVF-Cookie angelegt, dessen Wert auf zwei 0-LONGs zeigt, also
- auf ein Ende-Objekt. So brauchen Gerätetreiber keinen Cookie mehr
- anzulegen, sondern sich nur noch in die RSVF-Listen einzuhängen. Zur
- Beschreibung des RSVF-Cookies siehe das Textfile RSVF_COO.TXT.
-
-
- MAPTAB-Verwaltung
- -----------------
- Dieser Programmteil hängt im BIOS- und XBIOS-Trap und bearbeitet die
- XBIOS-Funktionen Bconmap, Rsconf und Iorec(für AUX). Es werden die
- BIOS-Funktionen Bconstat, Bconin, Bcostat und Bconout für Gerät AUX sowie
- alle Geräte ab einschließlich 6 aufwärts bearbeitet. Bconmap und eine
- MAPTAB werden unter jeder TOS-Version angelegt. Die Routinen des aktuell
- per Bconmap eingestellten Gerätes werden zusätzlich in die xco*-Vektoren
- (außer bei TOS1.00) kopiert, dort aber nicht benutzt. Zusätzlich
- werden zwei neue Bconmap-Unterfunktionen mit den Opcodes -300 und -301
- zum Überschreiben eines MAPTAB-Eintrages und zum Anhängen an die
- MAPTAB bereitgestellt.
-
- Die Länge der MAPTAB ist also nicht mehr fest begrenzt, ### momentan
- liegt die Maximallänge bei 10 Einträgen, ist aber nur eine konstante
- Variable in der Assemblerquelle und jederzeit erweiterbar.
-
-
- GEMDOS-Teil
- -----------
- Der sieht von außen aus wie die bisherigen HSMODEM1-Versionen und von
- innen wie eine (### momentan noch) stark abgerüstete Mag!X-Beta.
- Es werden Fopen, Fread, Fwrite, Fclose, Fcntl an den Treiber
- weitergeleitet, aber alles mit fileptr == NULL.
-
-
- Aktionen
- --------
- Wird DRVIN auf einem TOS > 2.00 oder auf Mag!X >= 2.00 losgelassen, dann
- kopiert es sich erstmal die alten Routinen aus den alten MAPTABs, so daß
- eine Funktion der (X)BIOS-Aufrufe erstmal mit den alten TOS-Routinen
- gegeben ist (schnarchlangsam). Bei TOS1.00 sieht es ganz übel aus, man muß
- den MFP-Treiber nachladen, sonst geht SerialI/O nicht mehr (nur Zeiger auf
- IOREC wird übertragen). Bei 1.00 < TOS < 2.00 geht es etwas, da nur Rsconf
- nicht übertragen wird, aber deshalb muß man trotzdem den MFP-Treiber
- nachladen.
-
-
- Mag!X- (und DRVIN-) freundliche Bco*-Routinen
- ---------------------------------------------
- veränderbare Register A0-A2/D0-D2 (auch bei Rsconf)
- Bconout muß mit dem Befehl
- move.b 7(sp),d0
- oder auch: move.w 6(sp),d0
- beginnen und wird meist hinter diesem (Startadr+4) mit Parameter in d0.b
- aufgerufen
-
-
- Neue XBIOS-Bconmap-Funktionen (300, 301)
- ----------------------------------------
- nur zum Einhängen/Dazuhängen der Mag!X-freundlichen Funktionen
-
- In der MAPTAB ist Platz für mehr als 4 Geräte. Entweder Mag!X kann diesen
- Platz dynamisch schaffen oder es gibt in MAG!X.INF einen Parameter, mit
- dem sich die Maximalanzahl einstellen läβt. (### aktuell fest auf 10
- begrenzt####)
-
- Die XBIOS-Funktion Bconmap wird etwas erweitert:
-
- Bconmap(-300, (WORD) dev_nr, (LONG) ptr_to_6_longs)
- dev_nr ist eine Gerätenummer ab 6 aufwärts, die in der MAPTAB bereits
- existieren muβ (andernfalls wird ein Fehlercode -15 EUNDEV zurückgegeben).
- ptr_to_6_longs zeigt auf eine Struktur, die einem MAPTAB-Eintrag entspricht.
- Diese Struktur wird auf den entsprechenden Platz in der MAPTAB kopiert und in
- D0 eine ok-Meldung (0) geliefert. Diese Funktion dient nur zum Einhängen
- Mag!X-freundlicher Routinen und muβ, falls das angesprochende Gerät auch das
- aktuelle ist, die Vektoren ebenfalls nach xco* und in die aktuellen rsconf
- und iorec-Zellen kopieren. Als Erfolgsmeldung wird die Gerätenummer
- zurückgegeben, auf die der Eintrag erfolgte, also dev_nr ist Rückgabewert.
-
- Bconmap(-301, (LONG) ptr_to_6_longs)
- ähnlich -300, fügt aber einen Kanal an die MAPTAB an. Rückmeldung ist entweder
- die gewählte Kanalnummer für den Eintrag, oder der Fehlercode -12 EGENRL, falls
- kein Platz für eine MAPTAB-Vergröβerung mehr ist. Logischerweise kann es hier
- nicht vorkommen, das die Vektoren sofort nach xco* übertragen werden müssen.
-
- Sind diese Erweiterungen nicht vorhanden, bekommt man beim Funktionsaufruf
- automatisch eine 0 als Fehlermeldung zurück.
-
-
- Versionen
- ---------
- Die Version ist anhand des Datums in der Startmeldung oder anhand des
- Filedatums zu erkennen. Im Zweifelsfall hat die Startmeldung recht.
- Das Datum ist entweder deutsch notiert (Tag.Monat.Jahr), oder als
- Jahr-Monat-Tag. Die Unterscheidung dürfte anhand der immer
- vierstelligen Jahreszahl eindeutig sein.
-
- Neue Versionen werden zuerst in der Mausbox Berlin, Telefon
- +49-30-6246510, zu finden sein (also 030-6246510 innerhalb
- Deutschlands, Gastdownload in den Zeiten 10.00-18.59 und 23.00-03.59).
-
- 1993-11-23
- im GEMDOS-Trap nun nur noch A0/D0 modifiziert, für solche Müllprogramme
- wie STZIP u.ä. Modula-2 Auswüchse
- Fopen und Fclose werden an Devices weitergereicht
-
-
- Harun Scheutzow, 21.11.1993
-